SoftImage Geometry Import Converter

The is one of Okino's premier import converters which allows complete SoftImage .hrc model files and/or SoftImage databases to be loaded, including polygonal meshes, NURB patches, bicubic patches, geometry hierarchy, lights, cameras and all texture info. It is a "load and render" converter that imports and  accurately translates all aspects of the scene file so that little or no modifications must be done in the target rendering program to produce equivalent results to that created by the SoftImage renderer.

Production houses should find this converter invaluable in their daily production work for conversion of SoftImage scenes or model files to other file formats. Advanced features include tuned conversion of all texture modulation methods (ambient, diffuse, bump, etc), alpha channel mapping, direct database intergation, accurate (u,v) texture coordinate  conversion and dozens of export options (see below). The NuGraf/PolyTrans software can also convert or recognize  SoftImage '.pic' formatted bitmap images.

Step-by-Step Procedure to Load in a SoftImage .hrc Object File:

All SoftImage model geometry is stored on disk in a file format that uses the .hrc file extension. This same file can also store hierarchy information, materials and texture references; however, it cannot store cameras or lights. To load a .hrc file into this program:

1.	Choose the Import 3D Geometry/SoftImage menu item

2.	Using the file selector dialog box, choose a SoftImage file that has a .hrc file extension.

3.	Press the OK button on the dialog box.

Step-by-Step Procedure to Load in a SoftImage .dsc Scene File:

This export converter has a special feature that allows it to read in a scene from a SoftImage database. These section explains what a SoftImage database is and how files can be imported from it.

SoftImage uses a complex project maintenance system called a database. A database is basically a directory that contains a number of other sub-directories specific to the current project. These sub-directories contain the model .hrc files (the models directory), bitmap image files in the .pic format (the pictures directory), information about lights (the lights directory), information about the current camera (the cameras directory), contents of the current scene (the scenes directory) and so forth.

To import from a SoftImage database scene:

1.	Choose the Import 3D Geometry/SoftImage menu item.

2.	Using the file selector dialog box, choose a SoftImage scene file that has a .dsc file extension. Such files are usually located in the scenes sub-directory of a SoftImage database.

3.	When the SoftImage import dialog box appears make sure that the Location of SoftImage Resource Directory option is set properly. See the explanation below about this dialog box option.

4.	Press the OK button on the dialog box.

Features of this converter:

•	All meshed geometry is read in and processed, including polygons with holes. Geometric and vertex normals will be computed for polygons without such information.

•	Import of NURB patches and bicubic patches. This took a significant amount of work to develop since SoftImage uses a non-standard method to store patches which use "closed" curves (their NURB knot vectors are non-standard).

•	All (u,v) texture coordinates are read in and stored along with the meshed polygon data.

•	If a polygon has been assigned a material which has a XY, XY, YZ, UV, Cylindrical or Spherical.texture projection then that texture projection will be evaluated on-the-fly (using the current objects inherited location in space) and the resulting (u,v) texture coordinates will be explicitly assigned to that polygon.

•	The original scene hierarchy is completely recreated, including all groupings and their related transformations. The hierarchy mechanism also takes into account the inheritance of material and global/local texture maps (the converter properly assigns material and textures that have been inherited from previous levels).

•	Batch conversion of SoftImage .hrc model files and scenes to other 3d file formats (such as 3D Studio, DXF, Lightwave, etc.) using the batch 3d converter in the main NuGraf/PolyTrans program. The batch conversion process can also perform a wide variety of processing operations on the batch converted polygonal data including fast vertex welding, unification of the normals, removal of duplicate coordinates and removal of double sided polygons.

•	Batch conversion of SoftImage .pic formatted files to other bitmap formats using the batch image converter in the main NuGraf/PolyTrans program.

Material Attribute Translations:

In addition, this converter reads in every material attribute and accurately translates the shading parameters to equivalent shading parameters used by this converter. Okinos NuGraf renderer will be able to render any SoftImage file with little or no modification and with results that are almost exactly the same as within SoftImage. The following describes some of the shading parameter translations:

•	Constant, flat, Lambert, Phong and Blinn shading modes are translated properly.

•	Ambient, diffuse and specular color components are mapped to equivalent colors inside the converters database.

•	The specular decay, reflectivity, transparency and refractive index are mapped to equivalent internal values.

Texture Mapping Translations:

Likewise, all SoftImage texture mapping information is imported and stored within the converters internal database. This is one of the more interesting aspects of this converter since it provides a 1:1 mapping of the SoftImage texture map information to that of this converters internal database. The following are some highlights of this translation process:

•	All SoftImage texture projection methods are supported: XY, XY, YZ, UV, Cylindrical and Spherical. An algorithm has been written which simulates the texture projection methods and converts the projections to explicit (u,v) texture coordinates.

•	Each 2d bitmap textures scale, offset and count parameters are properly untangled and mapped into equivalent scale, offset and wrap/no-wrap parameters of this converters internal database. Note the SoftImage performs scaling and offsetting of texture maps relative to the upper-left corner of a bitmap image whereas this converter performs the transformations relative to the lower-left corner. This change of coordinate system is properly handled for all variations of SoftImage scale, offset and count parameters (quite messy actually).

•	This converter is quite smart when it comes to untangling SoftImages assignment of global and local materials, 2d textures and 3d textures. Basically the rules are:

•	If no material is assigned to an object then inherit the material as well as the 2d & 3d textures from the parent object.

•	If a material is assigned to an object then ignore the inherited global 2d & 3d textures; instead, use the global 2d & 3d textures assigned at the model level.

•	Local textures are layered on the NuGraf surfaces, followed by the global textures. Proper 'blending' is done so that the global textures will mix with the local textures.

Explanation of Texture Mapping Conversion

All SoftImage texture modulation types are properly read into this converter. Since Okinos PolyTrans and NuGraf Rendering System software incorporate a multi-layer/multi-modulation texture mapping system they can import and render (in the case of NuGraf) any form of complex SoftImage texture mapped scene. The translations from SoftImage to NuGraf/PolyTrans are performed as follows:

SoftImage Texture Parameter	NuGraf/PolyTrans Texture Parameter

Ambient Color	Ambient color modulation

Diffuse Color	Diffuse color modulation

Specular Color	Specular color modulation

Transparency	Transparency color modulation

Reflectivity	Reflected color intensity

Roughness	Bump mapping modulation

Reflection Map	Spherical environment map

Scale/Offset/Repeat Parameters	Scale and offset parameters

XY, XY, YZ, UV, Cylindrical and Spherical	Translated to explicit (u,v) coords

Blending Method (Alpha channel or RGB)	Color mixing source (alpha or RGB)

Map Component (Alpha channel or RGB)	Effect source: Alpha channel or RGB

The converter can also read in SoftImage .pic formatted bitmap files. This allows, for example, SoftImage files to be converted to Apple QuickDraw 3D with the added benefit of embedding SoftImage .pic files directly in the QuickDraw 3D file.

Limitations of the SoftImage D-Kit Library

This import converter uses a special library, provided by SoftImage, called the D-Kit which allows SoftImage .hrc and .dsc files to be read by external programs. The D-Kit, however, has bugs in it. For example, this library has been known to lock-up when reading in complex SoftImage files which have constaint-based nodes. Thus, be wary about problems such as lock-ups and crashes which may very well be caused by the D-Kit library and not this converter.

Converter Limitations

•	SoftImage allows a bitmap to be repeated a finite number of times in the u and v texture directions. This is a feature not common to other rendering programs (except Strata StudioPro) in which the texture either tiles once or tiles infinitely. Hence, if the uCount and vCount SoftImage parameters are set to 1 then the imported texture will use no wrap around, else any greater values will cause the texture to wrap-around indefinitely.

•	SoftImage provides the ability to specify the texture projection method for each applied texture on an object. This converter (and most 3d rendering programs in general), however, only allow the one set of (u,v) texture coordinates per polygon. Thus, this converter will use the projection method in the first valid 2d texture definition (local then global) to compute the (u,v) texture coordinates.

Supported and Unsupported SoftImage Entities

The following SoftImage entities are currently supported:

•	Polygonal meshes with holes.

•	NURB surfaces (open and closed)

•	Bicubic patches (LINEAR patch not supported)

•	Inherited materials and textures (local and global)

•	Geometry hierarchy

•	All material attributes

•	All 2d bitmap texture parameters

•	Lights and cameras

The following SoftImage entities will be supported in subsequent releases of this converter:

•	Faces defined by NURB curve and spline curves

•	NURB trimming curves

•	Import of animation fcurves

The following SoftImage entities are currently unsupported:

•	Spline curves

•	Lattices

•	Spline and patch fitting

•	Shape deformation animation

•	Constraint-based animation

•	3D texture definitions

Dialog Box Options

Location of SoftImage Resource Directory

This option specifies the file path to the SoftImage resource directory. It is only needed when importing from a SoftImage scene file (it is not needed when importing from a single .hrc file). If your installation of SoftImage resides in c:\soft then this filepath should be set to c:\soft\3d\bin\rsrc. This section will be grayed out if the input file is a SoftImage .hrc file and not a .dsc scene file.

Alternatively, the Reset to SI_LOCATION/3d/bin/rsrc button can be pressed which will set the directory to the assumed location of the SoftImage resources. NOTE that the global environment variable SI_LOCATION must point to the directory where your SoftImage installation resides. Please refer to the SoftImage installation guide for more information about this environment variable.

Strip off Filepaths from Bitmap References

Normally all references to bitmap files within a SoftImage file use absolute filepaths (ie: c:\pictures\tree.pic). If this option is disabled then the absolute filepath will be stripped off from the bitmap references, else the filepaths will remain unmodified.

List SoftImage Geometric Entities Not Supported

If this checkbox is check-marked then all unsupported SoftImage entities (such as metaballs and spline curves) will be reported to the message window.

Report Statistics About the Geometry File

If this checkbox is check-marked then parsing statistics will be displayed in the message window after the SoftImage file has been imported.

Output Parsing Information to File debugsft.txt

If this checkbox is check-marked then the contents of the SoftImage binary file will be verbosely described and output to the file debugsft.txt.

Bump Mapping Intensity Divisor

This parameter affects the translation of a bump maps intensity. SoftImage uses a range of -20 to 20 as the bump mapping intensity whereas this converters internal database prefers values that are much smaller (such as +-0.003). The numeric value in this type-in box defines how much smaller the SoftImage bump map intensity will be scaled. Values from 100 to 300 produce bump mapped images that look similar in Okinos NuGraf Rendering System software to that rendered within SoftImage.

Selective Loading

The following checkboxes allow all or only some parts of the SoftImage .hrc file to be loaded:

Polygon Meshes

If checkmarked, then load in all of the polygon mesh geometry.

NURB Surfaces

If checkmarked, then load in all of the NURB surface geometry.

NURB Trim Curves

If checkmarked, then load in all of trim curve data that is associated with each NURB patch.

Bicubic Patches

If checkmarked, then load in all of the bicubic patch geometry.

Cameras

If checkmarked, then load in the (single) camera from the SoftImage scene file (no cameras are stored within a .hrc file).

Lights

 If checkmarked, then load in the lights.

Materials

If checkmarked, then load in the materials.

2D Material Textures

If checkmarked, then load in the textures that are referenced by a SoftImage material.